package com_djm_2025_05_16;

/**
 * 存在连续三个奇数的数组
 *
 * @author dengjiangming
 * @version 1.0.0
 * @date 2025-05-17
 */
public class ConsecutiveOddsChecker {
  /*
  给你一个整数数组 arr，请你判断数组中是否存在连续三个元素都是奇数的情况：如果存在，请返回 true ；否则，返回 false 。
  示例 1： 输入：arr = [2,6,4,1]
          输出：false
  解释：不存在连续三个元素都是奇数的情况。
  示例 2：输入：arr = [1,2,34,3,4,5,7,23,12]
       输出：true
  解释：存在连续三个元素都是奇数的情况，即 [5,7,23] 。
   */

    public static boolean consecutiveOddChecker(int[] arr) {
        //思路：遍历数组，设置一个计数器，初始设为0，如果遇到奇数则自增1，如果遇到偶数则重新设为0.
        //如果计数器的值为3，则直接直接返回true，结束遍历。
        //如果遍历完整个数组，计数器的值都没有达到过3则返回false
        int count = 0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 != 0) {
                count++;
            }

            if (count == 3) {
                return true;
            }
        }

        return false;

    }

    public static void main(String[] args) {
        int[] arr = new int[]{2, 6, 4, 1};
        System.out.println(consecutiveOddChecker(arr));
        int[] arr1 = new int[]{1, 2, 34, 3, 4, 5, 7, 23, 12};
        System.out.println(consecutiveOddChecker(arr1));
    }

}
